home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Educational / RasMol / Source / render.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-13  |  3.1 KB  |  152 lines

  1. /* render.h
  2.  * RasMol2 Molecular Graphics
  3.  * Roger Sayle, August 1995
  4.  * Version 2.6
  5.  */
  6.  
  7. /* These values set the sizes of the sphere rendering
  8.  * tables. The first value, maxrad, is the maximum
  9.  * sphere radius and the second value is the table
  10.  * size = (maxrad*(maxrad+1))/2 + 1
  11.  */
  12. /* #define MAXRAD    120   256   */
  13. /* #define MAXTABLE  7261  32897 */
  14. #define MAXRAD    255
  15. #define MAXTABLE  32641
  16.  
  17.  
  18. #define SlabReject       0x00
  19. #define SlabHalf         0x01
  20. #define SlabHollow       0x02
  21. #define SlabFinal        0x03
  22. #define SlabClose        0x04
  23. #define SlabSection      0x05
  24.  
  25. #define PickNone         0x00
  26. #define PickIdent        0x01
  27. #define PickDist         0x02
  28. #define PickAngle        0x03
  29. #define PickTorsn        0x04
  30. #define PickLabel        0x05
  31. #define PickMonit        0x06
  32. #define PickCentr        0x07
  33.  
  34.  
  35. #define ViewLeft         0
  36. #define ViewRight        1
  37.  
  38. #define ColBits          24
  39.  
  40. #define VOXORDER       21
  41. #define VOXORDER2      (VOXORDER*VOXORDER)
  42. #define VOXSIZE        (VOXORDER2*VOXORDER)
  43.  
  44. typedef struct _Item {
  45.         struct _Item __far *list;
  46.         Atom  __far *data;
  47.     } Item;
  48.  
  49.  
  50.  
  51. #ifdef RENDER
  52. int UseStereo,StereoView;
  53. int UseShadow,DisplayMode;
  54. int UseClipping,UseSlabPlane;
  55. int SlabMode,SlabValue;
  56. int SlabInten,SliceValue;
  57. int ImageRadius,ImageSize;
  58. int SSBondMode,HBondMode;
  59.  
  60. int DrawBoundBox,DrawAxes;
  61. int DrawDoubleBonds;
  62. int DrawUnitCell;
  63.  
  64. Real IVoxRatio;
  65. int VoxelsClean;
  66. int BucketFlag;
  67. int FBClear;
  68.  
  69.  
  70. #if defined(IBMPC) || defined(APPLEMAC)
  71. void __far * __far *HashTable;
  72. Byte __far * __far *LookUp;
  73. Card __far *ColConst;
  74. Byte __far *Array;
  75.  
  76. #else /* UNIX */
  77. void *HashTable[VOXSIZE];
  78. Card ColConst[MAXRAD];
  79. Byte *LookUp[MAXRAD];
  80. Byte Array[MAXTABLE];
  81. #endif
  82.  
  83. #else
  84. extern int UseStereo,StereoView;
  85. extern int UseShadow, DisplayMode;
  86. extern int UseClipping,UseSlabPlane;
  87. extern int SlabMode,SlabValue;
  88. extern int SlabInten,SliceValue;
  89. extern int ImageRadius,ImageSize;
  90. extern int SSBondMode, HBondMode;
  91.  
  92. extern int DrawBoundBox,DrawAxes;
  93. extern int DrawDoubleBonds;
  94. extern int DrawUnitCell;
  95.  
  96. extern Real IVoxRatio;
  97. extern int VoxelsClean;
  98. extern int BucketFlag;
  99. extern int FBClear;
  100.  
  101.  
  102. #if defined(IBMPC) || defined(APPLEMAC)
  103. extern void __far * __far *HashTable;
  104. extern Byte __far * __far *LookUp;
  105. extern Card __far *ColConst;
  106. extern Byte __far *Array;
  107.  
  108. #else /* UNIX or VMS */
  109. extern void *HashTable[VOXSIZE];
  110. extern Card ColConst[MAXRAD];
  111. extern Byte *LookUp[MAXRAD];
  112. extern Byte Array[MAXTABLE];
  113. #endif
  114.  
  115. #ifdef FUNCPROTO
  116. void ClearBuffers();
  117. void ReSizeScreen();
  118. void ReAllocBuffers();
  119. void ShadowTransform();
  120.  
  121. void ResetVoxelData();
  122. void CreateVoxelData( int );
  123.  
  124. void DrawFrame();
  125. void ResetRenderer();
  126. void InitialiseRenderer();
  127. void SetStereoMode( int );
  128. void SetPickMode( int );
  129. void PickAtom( int, int, int );
  130. unsigned int isqrt( Card );
  131.  
  132. #else /* non-ANSI C compiler */
  133. void ClearBuffers();
  134. void ReSizeScreen();
  135. void ReAllocBuffers();
  136. void ShadowTransform();
  137.  
  138. void ResetVoxelData();
  139. void CreateVoxelData();
  140.  
  141. void DrawFrame();
  142. void ResetRenderer();
  143. void InitialiseRenderer();
  144. void SetStereoMode();
  145. void SetPickMode();
  146. void PickAtom();
  147. unsigned int isqrt();
  148.  
  149. #endif
  150. #endif
  151.  
  152.